Optional write
write?: {
acceptFeeTo: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
exercise: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
newOptionType: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
redeem: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
safeBatchTransferFrom: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
safeTransferFrom: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
setApprovalForAll: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
setFeeTo: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
setFeesEnabled: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
setTokenURIGenerator: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
sweepFees: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
write: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>);
}
Type declaration
-
acceptFeeTo: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "acceptFeeTo", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [options?: Options]
Returns Promise<`0x${string}`>
-
exercise: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "exercise", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [bigint, bigint], options?: Options]
Returns Promise<`0x${string}`>
-
newOptionType: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "newOptionType", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [`0x${string}`, bigint, `0x${string}`, bigint, number, number], options?: Options]
Returns Promise<`0x${string}`>
-
redeem: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "redeem", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [bigint], options?: Options]
Returns Promise<`0x${string}`>
-
safeBatchTransferFrom: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "safeBatchTransferFrom", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [`0x${string}`, `0x${string}`, readonly bigint[], readonly bigint[], `0x${string}`], options?: Options]
Returns Promise<`0x${string}`>
-
safeTransferFrom: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "safeTransferFrom", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [`0x${string}`, `0x${string}`, bigint, bigint, `0x${string}`], options?: Options]
Returns Promise<`0x${string}`>
-
setApprovalForAll: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "setApprovalForAll", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [`0x${string}`, boolean], options?: Options]
Returns Promise<`0x${string}`>
-
setFeeTo: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "setFeeTo", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [`0x${string}`], options?: Options]
Returns Promise<`0x${string}`>
-
setFeesEnabled: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "setFeesEnabled", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [boolean], options?: Options]
Returns Promise<`0x${string}`>
-
setTokenURIGenerator: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "setTokenURIGenerator", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [`0x${string}`], options?: Options]
Returns Promise<`0x${string}`>
-
sweepFees: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "sweepFees", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [readonly `0x${string}`[]], options?: Options]
Returns Promise<`0x${string}`>
-
write: (<TChainOverride, Options>(...parameters) => Promise<`0x${string}`>)
-
- <TChainOverride, Options>(...parameters): Promise<`0x${string}`>
-
Type Parameters
-
TChainOverride extends undefined | Chain
-
Options extends {
[K in string | number | symbol]: UnionOmit<WriteContractParameters<readonly [{
inputs: readonly [{
internalType: "address";
name: "_feeTo";
type: "address";
}, {
internalType: "address";
name: "_tokenURIGenerator";
type: "address";
}];
stateMutability: "nonpayable";
type: "constructor";
}, {
inputs: readonly [{
internalType: "address";
name: "accessor";
type: "address";
}, {
internalType: "address";
name: "permissioned";
type: "address";
}];
name: "AccessControlViolation";
type: "error";
}, {
inputs: readonly [];
name: "AmountWrittenCannotBeZero";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "CallerDoesNotOwnClaimId";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "CallerHoldsInsufficientOptions";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ClaimTooSoon";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseTooEarly";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "exercise";
type: "uint40";
}];
name: "ExerciseWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiredOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint40";
name: "expiry";
type: "uint40";
}];
name: "ExpiryWindowTooShort";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "input";
type: "address";
}];
name: "InvalidAddress";
type: "error";
}, {
inputs: readonly [{
internalType: "address";
name: "asset1";
type: "address";
}, {
internalType: "address";
name: "asset2";
type: "address";
}];
name: "InvalidAssets";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidClaim";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "InvalidOption";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
name: "OptionsTypeExists";
type: "error";
}, {
inputs: readonly [{
internalType: "uint256";
name: "token";
type: "uint256";
}];
name: "TokenNotFound";
type: "error";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "owner";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "ApprovalForAll";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amountAssigned";
type: "uint112";
}];
name: "BucketAssignedExercise";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint96";
name: "bucketIndex";
type: "uint96";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "BucketWrittenInto";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "redeemer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "exerciseAmountRedeemed";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "underlyingAmountRedeemed";
type: "uint256";
}];
name: "ClaimRedeemed";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "payer";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeAccrued";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "asset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "FeeSwept";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "address";
name: "feeTo";
type: "address";
}, {
indexed: false;
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "FeeSwitchUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "FeeToUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
indexed: false;
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
indexed: false;
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
indexed: true;
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "NewOptionType";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "exerciser";
type: "address";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsExercised";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
indexed: true;
internalType: "address";
name: "writer";
type: "address";
}, {
indexed: true;
internalType: "uint256";
name: "claimId";
type: "uint256";
}, {
indexed: false;
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "OptionsWritten";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "TokenURIGeneratorUpdated";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
indexed: false;
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}];
name: "TransferBatch";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: true;
internalType: "address";
name: "operator";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "from";
type: "address";
}, {
indexed: true;
internalType: "address";
name: "to";
type: "address";
}, {
indexed: false;
internalType: "uint256";
name: "id";
type: "uint256";
}, {
indexed: false;
internalType: "uint256";
name: "amount";
type: "uint256";
}];
name: "TransferSingle";
type: "event";
}, {
anonymous: false;
inputs: readonly [{
indexed: false;
internalType: "string";
name: "value";
type: "string";
}, {
indexed: true;
internalType: "uint256";
name: "id";
type: "uint256";
}];
name: "URI";
type: "event";
}, {
inputs: readonly [];
name: "acceptFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "uint256";
name: "";
type: "uint256";
}];
name: "balanceOf";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "owners";
type: "address[]";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}];
name: "balanceOfBatch";
outputs: readonly [{
internalType: "uint256[]";
name: "balances";
type: "uint256[]";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "claim";
outputs: readonly [{
components: readonly [{
internalType: "uint256";
name: "amountWritten";
type: "uint256";
}, {
internalType: "uint256";
name: "amountExercised";
type: "uint256";
}, {
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
internalType: "struct IValoremOptionsClearinghouse.Claim";
name: "claimInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "exercise";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
name: "feeBalance";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeBps";
outputs: readonly [{
internalType: "uint8";
name: "";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feeTo";
outputs: readonly [{
internalType: "address";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "feesEnabled";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "";
type: "address";
}, {
internalType: "address";
name: "";
type: "address";
}];
name: "isApprovedForAll";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}];
name: "newOptionType";
outputs: readonly [{
internalType: "uint256";
name: "optionId";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "option";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "uint96";
name: "underlyingAmount";
type: "uint96";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "uint96";
name: "exerciseAmount";
type: "uint96";
}, {
internalType: "uint40";
name: "exerciseTimestamp";
type: "uint40";
}, {
internalType: "uint40";
name: "expiryTimestamp";
type: "uint40";
}, {
internalType: "uint160";
name: "settlementSeed";
type: "uint160";
}, {
internalType: "uint96";
name: "nextClaimKey";
type: "uint96";
}];
internalType: "struct IValoremOptionsClearinghouse.Option";
name: "optionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "position";
outputs: readonly [{
components: readonly [{
internalType: "address";
name: "underlyingAsset";
type: "address";
}, {
internalType: "int256";
name: "underlyingAmount";
type: "int256";
}, {
internalType: "address";
name: "exerciseAsset";
type: "address";
}, {
internalType: "int256";
name: "exerciseAmount";
type: "int256";
}];
internalType: "struct IValoremOptionsClearinghouse.Position";
name: "positionInfo";
type: "tuple";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "claimId";
type: "uint256";
}];
name: "redeem";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256[]";
name: "ids";
type: "uint256[]";
}, {
internalType: "uint256[]";
name: "amounts";
type: "uint256[]";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeBatchTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "from";
type: "address";
}, {
internalType: "address";
name: "to";
type: "address";
}, {
internalType: "uint256";
name: "id";
type: "uint256";
}, {
internalType: "uint256";
name: "amount";
type: "uint256";
}, {
internalType: "bytes";
name: "data";
type: "bytes";
}];
name: "safeTransferFrom";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "operator";
type: "address";
}, {
internalType: "bool";
name: "approved";
type: "bool";
}];
name: "setApprovalForAll";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newFeeTo";
type: "address";
}];
name: "setFeeTo";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bool";
name: "enabled";
type: "bool";
}];
name: "setFeesEnabled";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "address";
name: "newTokenURIGenerator";
type: "address";
}];
name: "setTokenURIGenerator";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "bytes4";
name: "interfaceId";
type: "bytes4";
}];
name: "supportsInterface";
outputs: readonly [{
internalType: "bool";
name: "";
type: "bool";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "address[]";
name: "tokens";
type: "address[]";
}];
name: "sweepFees";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "tokenType";
outputs: readonly [{
internalType: "enum IValoremOptionsClearinghouse.TokenType";
name: "typeOfToken";
type: "uint8";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [];
name: "tokenURIGenerator";
outputs: readonly [{
internalType: "contract ITokenURIGenerator";
name: "";
type: "address";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}];
name: "uri";
outputs: readonly [{
internalType: "string";
name: "";
type: "string";
}];
stateMutability: "view";
type: "function";
}, {
inputs: readonly [{
internalType: "uint256";
name: "tokenId";
type: "uint256";
}, {
internalType: "uint112";
name: "amount";
type: "uint112";
}];
name: "write";
outputs: readonly [{
internalType: "uint256";
name: "";
type: "uint256";
}];
stateMutability: "nonpayable";
type: "function";
}], "write", Chain, Account, TChainOverride>, "address" | "abi" | "args" | "functionName">[K]
}
Parameters
-
Rest ...parameters: [args: readonly [bigint, bigint], options?: Options]
Returns Promise<`0x${string}`>
Reusable extension of viem's contract interface